﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SIGCBI.Entities;
using SIGCBI.Repository;
using Microsoft.Practices.Unity;

namespace SIGCBI.BusinessLogic
{
    public interface IUsuarioMenuBL
    {
        List<USUARIO_MENU> GetAllUsuarioMenuByCriterio(Int32 idTrabajador);
        List<USUARIO_MENU> GetAllUsuarioMenu(Int32 idTrabajador);
        USUARIO_MENU GetAllUsuarioMenuByDniTrabajador(string dni);
        USUARIO_MENU GetAllFromUsuarioByTrabajadorFromLogin(string dni);
        List<USUARIO_MENU> GetAllFromDetalleMenuUsuarioByUsuarioId(Int32 id);

        void deleteDetalle(Int32 idDet, Int32 idMenu);
    }

    public class UsuarioMenuBL : IUsuarioMenuBL
    {
        [Dependency]
        public IUsuarioMenuRepository usuMenuRepository { get; set; }

        public List<USUARIO_MENU> GetAllUsuarioMenuByCriterio(int idTrabajador)
        {
            return usuMenuRepository.GetAllUsuarioMenuByCriterio(idTrabajador);
        }

        public List<USUARIO_MENU> GetAllUsuarioMenu(int idTrabajador)
        {
            return usuMenuRepository.GetAllUsuarioMenu(idTrabajador);
        }

        public USUARIO_MENU GetAllUsuarioMenuByDniTrabajador(string dni)
        {
            return usuMenuRepository.GetAllUsuarioMenuByDniTrabajador(dni);
        }

        public USUARIO_MENU GetAllFromUsuarioByTrabajadorFromLogin(string dni)
        {
            return usuMenuRepository.GetAllFromUsuarioByTrabajadorFromLogin(dni);
        }

        public List<USUARIO_MENU> GetAllFromDetalleMenuUsuarioByUsuarioId(int id)
        {
            return usuMenuRepository.GetAllFromDetalleMenuUsuarioByUsuarioId(id);
        }

        public void deleteDetalle(int idDet, int idMenu)
        {
            usuMenuRepository.deleteDetalle(idDet, idMenu);
        }
    }
}
